A panoramic photograph is a photograph with an unusually large field of view, an exaggerated aspect ratio, or both. For example, a horizontal panoramic photograph may be much wider than it is tall, and may have a horizontal angle of view that is large in relation to its vertical angle of view. A vertical panoramic photograph may be much taller than it is wide, and may have a vertical angle of view that is large in relation to its horizontal angle of view. A panoramic photograph or panoramic image, sometimes also called simply a “panorama”, can provide a unique and sometimes striking view of a scene.
Panorama imaging involves taking a sequence of images of an extended horizontal scene and compositing these into a single extended image. This enables a “panoramic,” typically outdoor, scene to be captured with a standard camera with a normal optical system of limited field-of-view.
An alternative approach is to capture a scene with a specialized optical lens known as a fish-eye which has an enhanced field of view of up to 170′. Such specialized lenses require expensive fabrication and precise machining of the elements of the lens. Implementing a panoramic imaging method in a digital camera enables similar results at a fraction of the cost. Historically, panoramic photographs have been taken using specially-made cameras. One kind of panoramic camera uses a rotating lens and body to sweep across a large field of view, while moving film past a narrow exposure slit behind the lens. This kind of rotating camera, sometimes called a “Cirkut-type” camera after an early commercial model, can take a photograph with a field of view of 360 degrees or more. A swing-lens camera operates on a similar principle, but rotates its lens and the exposure slit in relation to a stationary body and film. A swing-lens camera can take a photograph with a field of view somewhat less than 180 degrees.
Another method of making a panoramic photograph may involve taking several overlapping standard or conventional photographs, each typically having an aspect ratio of about 3:2 or otherwise less than is desired in the panoramic photograph, and joining them together into a single larger photograph. The joining may be typically done using a computer operating on digital representations of the component photographs, for example photographs taken with a digital camera. The process of combining digital images into a larger photograph is often called “stitching” or “mosaicing”. In principle, any number of component images can be stitched, and the resulting panorama can cover a field of view of up to 360 degrees or more.
Stitching can be computationally-intensive. For example, software performing image stitching may correct distortions, such as lens distortion and perspective distortion, that may be present in component images before stitching them together. Additionally, finding the proper alignment and color or tonal balance between component images may involve multiple computations of correlation coefficients that reflect the “goodness” of the alignment between image segments. Variations in tone, caused by effects such as changes in viewing angle and lens vignetting, may be corrected or otherwise accommodated. The time required to perform the stitching increases dramatically with increased size or resolution of the component images.
Some modern digital cameras provide a mode that assists a user of the camera in taking a set of component photographs for later stitching into a panoramic photograph. For example, a panoramic mode may use a display screen on the camera to assist the user in framing each component photograph for proper overlap with a previous photograph in the set, and may ensure consistent exposure settings for all of the component photographs in a set.
At least one existing model of digital camera can perform stitching on a set of low-resolution “screen nail” images so that the photographer can detect certain problems such as insufficient overlap in the component images. A “screen nail” may include a small low-resolution copy of a digital image, analogous to a “thumbnail” image, and is sized to fit an on-camera display. A typical screen nail image may have, for example, approximately 320 by 240 pixels. This capability is described in U.S. patent application 20060182437 (Hewlett-Packard).
However, previous digital cameras have not performed the stitching of high or full-resolution images in real-time because the relatively simple processors used in digital cameras could not perform the computationally-intensive stitching algorithms quickly enough to provide a satisfactory user experience. Previously, a camera user who wished to stitch high-resolution component images into a panorama had to upload the component images to an external computer and use software executing on the computer to perform the stitching. This prior method involved the use of a computer, possibly including installing additional software on the computer, and prevented the user from immediately printing or sharing the panorama.
More recently a number of techniques of creating panoramic images directly on a digital camera, or in a handheld imaging device such as a camera-phone or smartphone have been described.
As examples, US 20090022422 to Sorek et al. (Hewlett-Packard), describes a method for combining at least a first and second image frame based on the content of the frames and combining these frames in a transformed domain based on a determined alignment to form a composite image. This method employs common features of interest in each image and uses these to determine the horizontal and vertical alignment between the two images. The combining of the images may be partly performed in the image domain where residual shifts are performed and partly in the transform domain where block shifts may be performed.
Another method of producing a panoramic image within a camera or camera-phone is described in US 20090021576 to Linder et al. (Samsung) (see also US20090022422). This method uses a video stream, which can be acquired in many state-of-art cameras, as the basis for constructing a panorama image. It first acquires a plurality of video frames, followed by the selection of an initial frame from the image/video sequence. The method also allows for acquiring additional still images to compliment the original video sequence. The additional video and still images may be stitched with the original image and overlay alignment and/or motion detection may be used to enhance the stitching process. The method appears to rely on directing the user of the camera or camera-phone to move the device to acquire additional images. Note that this US published patent application also includes a very detailed review of relevant literature.
Another approach is described in US 20060268130 which describes a method of generating in “real-time” a panorama image from a sequence of relatively low-resolution images of a scene, displaying the panorama image for user approval, while simultaneously processing a corresponding sequence of higher resolution images so that a high-resolution panorama image is available for storing once the user has approved the low resolution version. Note that this technique is similar to US 20090021576 in that it enables user modification and/or recapturing or adding images under user control. Both applications present considerable details of user interfaces.
State-of-art imaging devices are currently capable of capturing 720p and higher HD video at frame rates of 60 fps and still images of dimension 3000×2000 pixels. The processing requirements of such larger images, and increased accuracy involved with aligning the images to prevent unsightly “seams” from appearing in a panorama image present new challenges for panorama image creation, particularly if it is desired to reliably create acceptable images without user intervention and in “real-time”. New challenges are also presented by the desire to create stereoscopic (3D) panoramic images on handheld devices.